package summary.user;

import java.util.ArrayList;

/**
 * @Author admin
 * @Date 2019/4/16 14:12
 * 工具类的具体实现类，用集合方式
 * 具体用哪个集合：ArrayList（ 单列，有序，不唯一）
 * HashSet（单列，无序，唯一）
 * HashMap（键值对，键是唯一的，值可以不唯一）
 */
public class UserDaoSet implements UserDao {
    ArrayList<User> arrayList = new ArrayList<User>();

    /**
     * 注册功能：将传入的user对象保存在集合中
     * 考虑用户名不能重复
     * user
     */
    @Override
    public void register(User user) {
        /*首先判断集合中是否存在该用户名 user。getname（）
         * 若存在，提示用户名重复
         * 若不存在，将用户user保存在集合中*/
        User u = select(user.getName());
        if (u==null){
            System.out.println("注册失败，用户名重复了！");
        }else{
            arrayList.add(user);
            System.out.println("注册成功！");
        }

    }
/**
 * 判断集合中是否存在name
 * 若存在，返回true
 * 若不存在，返回false
 * @param name
 * @return
 * */
private User select (String name){
    for (int i = 0; i < arrayList.size(); i++) {
        if (arrayList.get(i).getName().equals(name)){
            return arrayList.get(i);
        }
    }
    return null;
}


    /**
     * 登录功能：将传入的用户名和密码与已有的比较
     * 若存在，则返回该用户对象
     * 若不存在，则返回null
     *
     * @param name
     * @param password
     * @return
     */
    @Override
    public User login(String name, String password) {
        for (int i = 0; i < arrayList.size(); i++) {
            if (arrayList.get(i).getName().equals(name)&arrayList.get(i).getPassword().equals(password)){
                return arrayList.get(i);
            }
        }
        return null;
    }

    @Override
    public void fond() {

    }

    @Override
    public void delete(String name) {
        /*先判断是否存在，
        * 若存在则删除，否则提示不存在*/
        User user = select(name);
        if (user==null){
            System.out.println("您要删除的用户不存在！");
        }else{
            arrayList.remove(user);
        }
    }
}
